home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 1.iso
/
ARGONET
/
PD
/
PROGRAMMING
/
DESKLIBC
/
SOURCES.ZIP
/
DeskLib
/
!DLSources
/
Libraries
/
MsgTrans
/
c
/
LoadFile
next >
Wrap
Text File
|
1995-07-10
|
2KB
|
71 lines
/*
#### # # # #
# # # # # The FreeWare C library for
# # ## ### # # # # ### RISC OS machines
# # # # # # # # # # # ___________________________________
# # #### ### ## # # # #
# # # # # # # # # # Please refer to the accompanying
#### ### #### # # ##### # ### documentation for conditions of use
________________________________________________________________________
File: MsgTrans.LoadFile.c
Author: Copyright © 1994 Tony Houghton
Version: 1.00 (27 Sep 1994)
Purpose: Load a Messages file
*/
#include <stdlib.h>
#include "DeskLib:LinkList.h"
#include "DeskLib:MsgTrans.h"
#include "MTDefs.h"
linklist_header msgtrans__list = {NULL,NULL};
os_error *MsgTrans_LoadFile(msgtrans_filedesc **filedesc,char *filename)
{
int flags;
int size;
os_error *swierr;
msgtrans_file *block;
block = malloc(sizeof(msgtrans_file));
if (!block)
{
os_error error;
MsgTrans_Lookup(0,"NoStore",error.errmess,252);
return &error;
}
swierr = MessageTrans_FileInfo(filename, &flags, &size);
if (swierr)
return (swierr);
block->data = malloc(size);
if (!block->data)
{
os_error error;
MsgTrans_Lookup(0,"NoStore",error.errmess,252);
free(block);
return &error;
}
swierr = MessageTrans_OpenFile(&block->filedesc, filename, block->data);
if (swierr)
{
os_error error;
MsgTrans_Lookup(0,"NoStore",error.errmess,252);
free(block->data);
free(block);
}
LinkList_AddToTail(&msgtrans__list,&block->list);
*filedesc = &block->filedesc;
return (swierr);
}